﻿using System;

namespace Teigha.Core
{
	public class ShellData
	{
		public OdGePoint3d[] Points
		{
			get
			{
				return this.points;
			}
			set
			{
				this.points = value;
			}
		}

		public int[] Faces
		{
			get
			{
				return this.faces;
			}
			set
			{
				this.faces = value;
			}
		}

		public EdgeData EdgeData
		{
			get
			{
				return this.edgeData;
			}
			set
			{
				this.edgeData = value;
			}
		}

		public FaceData FaceData
		{
			get
			{
				return this.faceData;
			}
			set
			{
				this.faceData = value;
			}
		}

		public VertexData VertexData
		{
			get
			{
				return this.vertexData;
			}
			set
			{
				this.vertexData = value;
			}
		}

		public void getEdgesFacesCount(out int FaceCount, out int EdgeCount)
		{
			FaceCount = 0;
			EdgeCount = 0;
			for (int i = 0; i < this.Faces.Length; i++)
			{
				if (this.Faces[i] > 0)
				{
					FaceCount++;
				}
				EdgeCount += Math.Abs(this.Faces[i]);
				i += Math.Abs(this.Faces[i]);
			}
		}

		private OdGePoint3d[] points;

		private int[] faces;

		private EdgeData edgeData;

		private FaceData faceData;

		private VertexData vertexData;
	}
}
